.table {
  display: table;
  table-layout: fixed;
  width: 100% !important;
  -webkit-box-sizing: border-box;
  -moz-box-sizing: border-box;
  box-sizing: border-box;
  height: 100%;
}
.table_row {
  display: table-row;
  width: 100%;
  height: 100%;
}
.table_row.-cellGroup {
  padding-top: 18px;
  padding-bottom: 18px;
}
@media only screen and (max-width: 579px) {
  .table_row.-cellGroup {
    padding-top: 9px;
    padding-bottom: 9px;
    margin-bottom: 40px;
    background-color: #cbcbcb;
    box-sizing: border-box;
  }
}
.table_cell {
  display: table-cell;
  float: none;
  vertical-align: top;
  /*
	-webkit-box-sizing: border-box;
	-moz-box-sizing: border-box;
	box-sizing: border-box; //Useful for when table cell element has padding/margins/border, such as mainContent and sidebarContent (when a sidebar is employed). If this causes issues, move this to individual elements where needed (mainContent, sidebarContent, etc.)
	*/
}
@media only screen and (max-width: 579px) {
  .table:not(.-lock).table:not(.-restack) {
    display: block;
  }
  .table:not(.-lock).table:not(.-restack) > .table_row {
    display: block;
  }
  .table:not(.-lock).table:not(.-restack) > .table_row > .table_cell {
    display: block;
  }
  .table.-restack .table_cell.-stackTop {
    display: table-header-group;
  }
  .table.-restack .table_cell:not(.stackTop) {
    display: table-footer-group;
  }
}
